home *** CD-ROM | disk | FTP | other *** search
/ Apple Service Source 1993 May / Service Source (v1.8 May 1993).iso / AppleOrder / Program 2 / AppleOrder CCL Folder / XUSA Software_MNP.CCL < prev   
Encoding:
Text File  |  1992-09-08  |  25.8 KB  |  802 lines  |  [TEXT/MPS ]

  1. !
  2. ! USA modem CCL script using software MNP protocol
  3. !
  4. !    Change History-
  5. !        v1.0        09/21/90    gs:General Release Version
  6. !        v1.0.2        12/07/90    gs:Create minor release version
  7. !        v2.0d1        12/3/91        gs:Supports ModemCmd and ConnectStr parameters
  8. !        v2.0        9/7/92        gs:General Release Version
  9. !
  10. !    The following label ranges (0-255) are defined for all scripts:
  11. !
  12. !    Label        Function
  13. !    -----        --------
  14. !    0-19        Communications Setup
  15. !    20-39        Get a Modem (IBX switch thru)
  16. !    40-59        Modem Setup
  17. !    60-79        Dialing
  18. !    80-99        Physical Connection
  19. !    100-119        GEIS Logon
  20. !    120-139        CICS
  21. !    140-159        APPM
  22. !    160-179        Online
  23. !    180-199        Terminate Session
  24. !    200-209        Cancel
  25. !    210-219        Hangup
  26. !    230-239        <UNUSED>
  27. !    240-255        Disconnect
  28. !
  29. !    Note:        Label 210 is the modem hangup sequence
  30. !                Label 240 is reserved as the start of the disconnect sequence
  31. !
  32. !================================================================================
  33. -LABEL 0    !***<Physical connection entry point>*** Initialize Communications
  34. !================================================================================
  35. !
  36. !    Select the MNPSerial Tool, initialize some parameters and open the session.
  37. !
  38. !    CTBTOOL <Toolname> [<LabelIfToolDoesn'tExist>] [<LabelIfError>] [<ctb flags>] [<buffer sizes>]
  39. CTBTool "MNPSerial Tool" 4 5
  40. !    CTBPARAMETER <ParameterName> <NewValue> [<LabelIfError>]
  41. CTBParameter MNPAutoEngage On 6
  42. CTBParameter MNPAutoengageString "CONNECT ~Baud\13" 7
  43. CTBParameter MNPConnectionMode Initiator 8
  44. CTBParameter MNPAutoEngageDelay 30 9
  45. CTBParameter MNPConnectAtOpen No 10
  46. CTBParameter MNPCloseConnectionIfMNPFails Yes 11
  47. CTBParameter Baud ~Baud 12
  48. CTBParameter Port "~MPrt" 13
  49. !    Dont set Data, Stop, or Parity bits for S/W MNP (defaults to 8,1,0 in the tool)
  50. !
  51. !    CTBOPEN [<LabelIfOpenFails>] [<LabelIfError>]
  52. CTBOpen 14 15        ! Open the Communications session
  53. !
  54. !    Flush any data, Initialize script variables and define Cancel label
  55. Flush                ! clear input buffer and ring buffer
  56. CanBtn 200            ! If user cancels, take the error return
  57. !
  58. SetVar 1 0            ! #of consecutive no responses to hangup command
  59. SetVar 2 0            ! #of consecutive no responses to modem configuration command
  60. SetVar 3 0            ! #of consecutive network contact failures.
  61. SetVar 4 0            ! #of logon validation failures
  62. SetVar 5 0            ! #of consecutive CICS90  failures
  63. SetVar 6 0            ! #of consecutive APPM failures
  64. SetVar 7 0            ! flag to indicate if connecting(0) or disconnecting(1)
  65. SetVar 8 0            ! not used
  66. !
  67. Jump 20                ! Go to Modem Selection and Setup
  68. !
  69. !*********
  70. -LABEL 4    !---<MNPSerial Tool missing>---
  71. !*********
  72. Alert -1 The MNP Serial tool cannot be found in your System folder.\13Please install it, and try again.
  73. Exit -1                ! exit the script with an error
  74. !
  75. !*********
  76. -LABEL 5    !---<CTBTool Comm Toolbox err>---
  77. !*********
  78. Alert -1 A CTBTool error has occurred in the Communications Toolbox.\13Please try again.\13If the problem continues, call the Apple USA helpline.
  79. Exit -1                ! exit the script with an error.
  80. !
  81. !*********
  82. -LABEL 6    !---<CTBParameter MNPAutoengage failed>---
  83. !*********
  84. Alert -1 CTBParameter MNPAutoengage caused an error.
  85. Exit -1                ! exit the script with an error.
  86. !
  87. !*********
  88. -LABEL 7    !---<CTBParameter MNPAutoengageString failed>---
  89. !*********
  90. Alert -1 CTBParameter MNPAutoengageString caused an error.
  91. Exit -1                ! exit the script with an error.
  92. !
  93. !*********
  94. -LABEL 8    !---<CTBParameter MNPConnectionMode failed>---
  95. !*********
  96. Alert -1 CTBParameter MNPConnectionMode caused an error.
  97. Exit -1                ! exit the script with an error.
  98. !
  99. !*********
  100. -LABEL 9    !---<CTBParameter MNPAutoEngageDelay failed>---
  101. !*********
  102. Alert -1 CTBParameter MNPAutoEngageDelay caused an error.
  103. Exit -1                ! exit the script with an error.
  104. !
  105. !*********
  106. -LABEL 10    !---<CTBParameter MNPConnectAtOpen failed>---
  107. !*********
  108. Alert -1 CTBParameter MNPConnectAtOpen caused an error.
  109. Exit -1                ! exit the script with an error.
  110. !
  111. !*********
  112. -LABEL 11    !---<CTBParameter MNPCloseConnectionIfMNPFails failed>---
  113. !*********
  114. Alert -1 CTBParameter MNPCloseConnectionIfMNPFails caused an error.
  115. Exit -1                ! exit the script with an error.
  116. !
  117. !*********
  118. -LABEL 12    !---<CTBParameter Baud failed>---
  119. !*********
  120. Alert -1 CTBParameter Baud caused an error.
  121. Exit -1                ! exit the script with an error.
  122. !
  123. !*********
  124. -LABEL 13    !---<CTBParameter Port failed>---
  125. !*********
  126. Alert -1 CTBParameter Port caused an error.
  127. Exit -1                ! exit the script with an error.
  128. !
  129. !*********
  130. -LABEL 14    !---<CTBOpen failed>---
  131. !*********
  132. Alert -1 CTBOpen could not open communications.\13The serial port may already be in use.
  133. Exit -1                ! exit the script with an error.
  134. !
  135. !**********
  136. -LABEL 15    !---<CTBOpen err>---
  137. !**********
  138. Alert -1 CTBOpen caused an Communications Toolbox error.
  139. Exit -1                ! exit the script with an error.
  140. !
  141. !================================================================================
  142. -LABEL 20    !***<Modem Selection>*** Select modem through IBX switch
  143. !================================================================================
  144. !
  145. !================================================================================
  146. -LABEL 40    !***<Modem Setup>*** Modem Reset and Setup
  147. !================================================================================
  148. DsplyPic 1
  149. DsplyMsg Making sure the modem is ready.
  150. Jsr 210                ! Hang up (just in case)
  151. SetVar 1 0            ! clear # hangup tries counter
  152. !
  153. !**********
  154. -LABEL 42    ! ---<Got modem attention>---
  155. !**********
  156. DsplyMsg Setting modem parameters.
  157. !    Clear all previous MatchStr's and setup the modem
  158. MatchStr 1 42 Dummy
  159. Wait 30
  160. !    Send modem setup commands
  161. Xmit ~HCMD
  162. Wait 3
  163. Flush                ! clear input buffer
  164. Xmit \13
  165. !
  166. !    Look for one of the following expected responses
  167. MatchStr 1 60 OK
  168. Wait 180               ! wait 3 secs
  169. IncVar 2            ! increment # modem setup tries
  170. IfVar 2 3 44        ! if 3 tries, display Modem Configuration Alert
  171. DsplyMsg Modem does not respond to setup commands. Retrying ...
  172. Jump 42                ! else try modem setup again
  173. !
  174. !**********
  175. -LABEL 44    ! ---<Modem configuration err>---
  176. !**********
  177. Bell
  178. Alert 200 The modem is not responding to setup commands.\13Turn the modem off and then on again before retrying.
  179. SetVar 2 0            ! clear # modem setup tries
  180. Jump 40                ! reset modem and try again
  181. !
  182. !================================================================================
  183. -LABEL 60    !***<Modem ready>*** Dial phone
  184. !================================================================================
  185. DsplyMsg Dialing ~Fone ...
  186. DsplyPic 2
  187. !    Clear all previous MatchStr's (No comments on same line as MatchStr's)
  188. MatchStr 1 60 Dummy
  189. SetVar 2 0            ! clear #modem setup tries
  190. Wait 30                ! Give modem .5 secs to get ready before sending the attention chars
  191. Xmit AT
  192. Wait 3                ! Pause before "tone dial" command
  193. Xmit D~Tone
  194. Wait 3                ! Pause before phone number
  195. Xmit ~Fone
  196. Wait 3
  197. Flush                ! clear input buffer and send CR
  198. Xmit \13
  199. !
  200. !    Look for one of the following expected responses
  201. MatchStr 1 80 ~GSTR\13
  202. MatchStr 2 66 CARRIER
  203. MatchStr 3 70 BUSY
  204. MatchStr 4 74 NO DIAL
  205. MatchStr 5 62 ERROR
  206. MatchStr 6 80 1200\13
  207. MatchStr 7 80 2400\13
  208. MatchStr 8 80 4800\13
  209. MatchStr 9 80 9600\13
  210. Wait 2100            ! wait 35 secs
  211. !
  212. !**********
  213. -LABEL 62    !---<No response or ERROR from modem>---
  214. !**********
  215. IncVar 3            ! Increment # dial attempts counter
  216. IfVar 3 4 64        ! if 4 attempts, display No Dial Response Alert
  217. DsplyMsg Modem does not respond to Dial command. Retrying ...
  218. Jump 40                ! reset modem and try again
  219. !
  220. !**********
  221. -LABEL 64    !---<No dial response err>---
  222. !**********
  223. Bell
  224. Alert 200 The modem is not responding to dial command.\13Make sure your modem is connected to a phone line.
  225. SetVar 3 0            ! clear # dial attempts counter
  226. Jump 40                ! reset modem and try again
  227. !
  228. !**********
  229. -LABEL 66   !---<No Carrier>---
  230. !**********
  231. IncVar 3            ! Increment # dial attempts counter
  232. IfVar 3 4 68        ! if 4 attempts, display No Carrier Alert
  233. DsplyMsg No Carrier with phone number dialed. Retrying ...
  234. Jump 40                ! reset modem and try again
  235. !
  236. !**********
  237. -LABEL 68    !---<No carrier err>---
  238. !**********
  239. Bell
  240. Alert 200 Cannot detect carrier signal after dialing.\13Make sure the phone number provided is correct.
  241. SetVar 3 0            ! clear # dial attempts counter
  242. Jump 40                ! reset modem and try again
  243. !
  244. !**********
  245. -LABEL 70    !---<busy>---
  246. !**********
  247. IncVar 3            ! Increment # dial attempts counter
  248. IfVar 3 4 72        ! if 4 attempts, display Busy Alert
  249. DsplyMsg Phone number dialed is busy. Pause  before retrying.
  250. Wait 300            ! wait 5 secs
  251. DsplyMsg Phone number dialed is busy. Retrying ....
  252. Jump 40                ! reset modem and try again
  253. !
  254. !**********
  255. -LABEL 72    !---<Busy err>---
  256. !**********
  257. Bell
  258. Alert 200 All network access lines are in use.\13Try again later.
  259. SetVar 3 0            ! clear # dial attempts counter
  260. Jump 40                ! reset modem and try again
  261. !
  262. !**********
  263. -LABEL 74    !---<No Dialtone>---
  264. !**********
  265. IncVar 3            ! Increment # dial attempts counter
  266. IfVar 3 4 76        ! if 4 attempts, display No Dialtone Alert
  267. DsplyMsg Modem reports no dial tone. Retrying ...
  268. Jump 40                ! reset modem and try again
  269. !
  270. !**********
  271. -LABEL 76   !---<No dialtone Error>---
  272. !**********
  273. Bell
  274. Alert 200 Modem reports no dial tone.\13Make sure your modem is connected to a phone line.
  275. SetVar 3 0            ! clear # dial attempts counter
  276. Jump 40                ! reset modem and try again
  277. !
  278. !================================================================================
  279. -LABEL 80    !***<Establish Physical Connection>*** Send H's to identify us to network
  280. !================================================================================
  281. DsplyMsg Requesting network attention
  282. !    Look for one of the following expected responses
  283. MatchStr 1 84 NO CARRIER
  284. MatchStr 2 100 U#
  285. Wait 12                ! Wait 0.2 sec before sending the first H
  286. Xmit H
  287. Wait 21                ! Wait another 0.35 sec before sending the second H
  288. Xmit H
  289. Wait 600            ! Allow 10 seconds for the U# to show up
  290. IncVar 3            ! No U#, increment # dial attempts counter
  291. IfVar 3 4 82        ! if 4 attempts, display No U# Alert
  292. DsplyMsg Unable to get network attention. Retrying ...
  293. Jump 40                ! reset modem and try again
  294. !
  295. !**********
  296. -LABEL 82    !---<No U#>---
  297. !**********
  298. Bell
  299. Alert 200 Unable to get the network's attention.\13Make sure you have the correct phone number.
  300. SetVar 3 0            ! clear # dial attempts counter
  301. Jump 40                ! reset modem and try again
  302. !
  303. !**********
  304. -LABEL 84    !---<Line dropped>---
  305. !**********
  306. IncVar 3            ! Increment # dial attempts counter
  307. IfVar 3 4 86        ! if 4 attempts, display Line Dropped Alert
  308. DsplyMsg Carrier signal dropped before network recognition. Retrying ...
  309. Jump 40                ! reset modem and try again
  310. !
  311. !**********
  312. -LABEL 86   !---<Line dropped Err>---
  313. !**********
  314. Bell
  315. Alert 200 Carrier signal dropped before network recognition.\13Try again.
  316. SetVar 3 0            ! clear # dial attempts counter
  317. Jump 40                ! reset modem and try again
  318. !
  319. !================================================================================
  320. -LABEL 100    !***<GEIS logon>***
  321. !================================================================================
  322. !
  323. DsplyMsg Physical Connection established. Logging on to network ...
  324. DsplyPic 3
  325. SetVar 3 0            ! clear # dial attempts counter
  326. Wait 6                ! wait 0.1 sec
  327. Flush                ! clear input buffer
  328. !    Note: leave 2 spaces between ~Dist and ~Numb
  329. Xmit ~User,~Dist  ~Numb,~Ridn\13
  330. !
  331. !    Look for one of the following expected responses
  332. MatchStr 1 104 NO CARRIER
  333. MatchStr 2 106 DISCONNECTED
  334. MatchStr 3 120 ===>
  335. MatchStr 6 108 N FAULT,
  336. MatchStr 7 108 T FORMAT,
  337. MatchStr 8 110 L DENIED
  338. MatchStr 9 112 BUSY
  339. MatchStr 10 112 DOWN
  340. Wait 4200            ! wait up to 70 seconds for a response
  341. IncVar 4            ! Increment # logon attempts counter
  342. IfVar 4 3 102        ! if 3 tries, display No Login Response alert 
  343. DsplyMsg No logon response from network. Retrying ...
  344. Jump 40                ! reset modem and try again
  345. !
  346. !*********
  347. -LABEL 102    !---<No Logon response>---
  348. !*********
  349. Bell
  350. Alert 200 No logon response from network.\13Try again.
  351. SetVar 4 0            ! clear # logon attempts counter
  352. Jump 40                ! reset modem and try again
  353. !
  354. !*********
  355. -LABEL 104    !---<Carrier dropped>---
  356. !*********
  357. IncVar 4            ! Increment # login attempts counter
  358. IfVar 4 3 105        ! if 3 attempts, display Carrier dropped alert
  359. DsplyMsg Carrier signal dropped during network logon. Retrying ...
  360. Jump 40                ! reset modem and try again
  361. !
  362. !*********
  363. -LABEL 105    !---<Carrier dropped Err>---
  364. !*********
  365. Bell
  366. Alert 200 Carrier signal dropped during network logon.\13Try again.
  367. SetVar 4 0            ! clear # logon attempts counter
  368. Jump 40                ! reset modem and try again
  369. !
  370. !*********
  371. -LABEL 106    !---<Session disconnected>---
  372. !*********
  373. IncVar 4            ! Increment # logon attempts counter
  374. IfVar 4 3 107        ! if 3 attempts, display Session disconnected alert
  375. DsplyMsg Network connection dropped during network logon. Retrying ...
  376. Jump 40                ! reset modem and try again
  377. !
  378. !*********
  379. -LABEL 107    !---<Session disconnected Err>---
  380. !*********
  381. Bell
  382. Alert 200 Network connection dropped during network logon.\13Try again.
  383. SetVar 4 0            ! clear # logon attempts counter
  384. Jump 40                ! reset modem and try again
  385. !
  386. !*********
  387. -LABEL 108    !---<Validation fault>---
  388. !*********
  389. IncVar 4            ! Increment # logon attempts counter
  390. IfVar 4 3 109        ! see if limit of 3 is exceeded.
  391. DsplyMsg Network rejected your identification. Retrying ...
  392. Wait 60                ! wait 1 sec
  393. Jump 100            ! retry GEIS login (only case where we don't reset)
  394. !
  395. !*********
  396. -LABEL 109    !---<validation fault err>---
  397. !*********
  398. Bell
  399. Alert 200 Your network identification has been rejected.\13Check Setup to make sure your identification is correct.
  400. SetVar 4 0            ! clear # logon attempts counter
  401. Jump 40                ! reset modem and try again
  402. !
  403. !*********
  404. -LABEL 110    !---<Denied by host>---
  405. !*********
  406. IncVar 4            ! Increment # logon attempts counter
  407. IfVar 4 3 111        ! if 3 attempts, display Network Problem alert
  408. DsplyMsg Network host equipment problem detected. Retrying ...
  409. Jump 40                ! reset modem and try again
  410. !
  411. !*********
  412. -LABEL 111    !---<Denied by host err>---
  413. !*********
  414. Bell
  415. Alert 200 Network host equipment problem detected.\13Try again.
  416. SetVar 4 0            ! clear # logon attempts counter
  417. Jump 40                ! reset modem and try again
  418. !
  419. !*********
  420. -LABEL 112    !---<MARK3K access busy/down>---
  421. !*********
  422. IncVar 4            ! Increment # logon attempts counter
  423. IfVar 4 3 113        ! if 3 attempts, display Network Busy alert
  424. DsplyMsg Network equipment busy/down. Retrying ...
  425. Jump 40                ! reset modem and try again
  426. !
  427. !*********
  428. -LABEL 113    !---<MARK3K access busy/down err>---
  429. !*********
  430. Bell
  431. Alert 200 Network equipment busy or down.\13Try again.
  432. SetVar 4 0            ! clear # logon attempts counter
  433. Jump 40                ! reset modem and try again
  434. !
  435. !================================================================================
  436. -LABEL 120    !***<MARK3000 prompt>*** Invoke CICS
  437. !================================================================================
  438. !
  439. DsplyMsg Requesting access to network subsystem ...
  440. DsplyPic 4
  441. Wait 6                ! wait 0.1 secs
  442. Flush                ! clear input buffer
  443. !
  444. Xmit ~CICS\13
  445. !    Look for one of the following expected responses
  446. MatchStr 3 140 READY
  447. !    To overcome a network problem, the following label was changed from 124 to 126
  448. !    MatchStr 4 124 T BOUND
  449. MatchStr 4 126 T BOUND
  450. MatchStr 5 126 UNRECOGN
  451. MatchStr 6 126 ===>
  452. Wait 3600            ! Allow 60 secs for the expected responses to show up
  453. IncVar 5            ! Timeout, so increment # CICS tries counter
  454. IfVar 5 2 122        ! if 3 tries, display No Response alert
  455. DsplyMsg No response to network subsystem request. Retrying ...
  456. Jump 40                ! reset modem and try again
  457. !
  458. !*********
  459. -LABEL 122    !---<No CICS err>---
  460. !*********
  461. Bell
  462. Alert 200 No response to network subsystem request.\13Try again.
  463. SetVar 5 0            ! clear # CICS tries counter
  464. Jump 40                ! reset modem and try again
  465. !
  466. !*********
  467. -LABEL 124    !---<Session not bound err>---
  468. !*********
  469. Bell
  470. Alert 200 Network CICS subsystem needs to be started.\13Please contact the Apple USA helpline immediately.
  471. Jump 200            ! jump to cancel routine
  472. !
  473. !*********
  474. -LABEL 126    !---<Invalid application>---
  475. !*********
  476. IncVar 5            ! Increment # CICS tries counter
  477. IfVar 5 3 127        ! if 3 tries, display Invalid Application alert
  478. DsplyMsg Network subsystem request has been rejected. Retrying ...
  479. Wait 60                ! wait 1 sec
  480. Flush
  481. Jump 120            ! try to access CICS again
  482. !
  483. !*********
  484. -LABEL 127    !---<Invalid application err>---
  485. !*********
  486. Bell
  487. Alert 200 The network subsystem request has been rejected.\13Try again.
  488. SetVar 5 0            ! clear # CICS tries counter
  489. Flush
  490. Jump 40                ! reset modem and try again
  491. !
  492. !================================================================================
  493. -LABEL 140    !***<CICS ready>*** Start APPM transaction
  494. !================================================================================
  495. !
  496. DsplyMsg Requesting access to distribution center ~Dist ...
  497. DsplyPic 5            ! Highlight box 5 on screen
  498. SetVar 5 0            ! clear # CICS tries counter
  499. !                    ! Send what needs to be sent
  500. Xmit ~Epgm~Dist\13
  501. !    Look for one of the following expected responses
  502. Wait 12                ! wait 0.2 secs
  503. Flush                ! clear input buffer
  504. !    Look for one of the following expected responses
  505. MatchStr 3 160 C100
  506. MatchStr 4 144 INVALID
  507. Wait 3600            ! Allow 60 secs for the expected responses to show up
  508. !
  509. IncVar 6            ! Timeout, so Increment # APPM tries counter
  510. IfVar 6 2 142        ! if 2 tries, display No Transaction alert
  511. DsplyMsg No response to distribution center access request. Retrying ...
  512. Jump 40                ! reset modem and try again
  513. !
  514. !*********
  515. -LABEL 142    !---<No transaction response>---
  516. !*********
  517. Bell
  518. Alert 200 No response to distribution center access.\13Try again.
  519. SetVar 6 0            ! reset # APPM tries counter
  520. Jump 40                ! reset modem and try again
  521. !
  522. !*********
  523. -LABEL 144    !---<Invalid transaction>---
  524. !*********
  525. IncVar 6            ! Increment # APPM tries counter
  526. IfVar 6 2 145        ! if 2 tries, display Invalid Transaction alert
  527. DsplyMsg Distribution center access request rejected. Retrying ...
  528. Jump 40                ! reset modem and try again
  529. !
  530. !*********
  531. -LABEL 145    !---<Invalid transaction err>---
  532. !*********
  533. Bell
  534. Alert 200 Distribution center access request rejected.\13Check Setup to make sure your identification is correct.
  535. SetVar 6 0            ! reset # APPM tries counter
  536. Jump 40                ! reset modem and try again
  537. !
  538. !================================================================================
  539. -LABEL 160    !***<Online>***
  540. !================================================================================
  541. !
  542. Wait 60                ! wait 1 sec
  543. DsplyMsg Accessing the distribution center ~Dist ...
  544. DsplyPic 6            ! Highlight box 6 on screen
  545. !    C9 = pass msg thru GE, 899 = Echo cmd
  546. Xmit C9899Ole\13
  547. !    Look for one of the following expected responses
  548. MatchStr 2 162 C5
  549. MatchStr 3 164 Ole\13
  550. Wait 7200            ! wait 2 minutes for echo back or distribution center nonavail msg
  551. !
  552. !*********
  553. -LABEL 162    !---<no luck this time>--- 
  554. !*********
  555. DsplyMsg Distribution center is not available ...
  556. Jsr 180                ! terminate session
  557. Bell
  558. Alert -1 Distribution center is not available.\13Please try again later.
  559. Jump 200            ! exit to Cancel routine
  560. !
  561. !*********
  562. -LABEL 164    !---<Success, but did MNP sync up?>--- 
  563. !*********
  564. !
  565. !    CTBCHECKPARAMETER <ParameterName> <ValueToCheckAgainst>
  566. !                      <LabelIfMatch> [<LabelIfParameterNotFound>] [<LabelIfError>]
  567. CTBCheckParameter MNPStatus On 170 168 169
  568. CTBCheckParameter MNPStatus Off 165 168 169
  569. CTBCheckParameter MNPStatus Connecting 166 168 169
  570. CTBCheckParameter MNPStatus Disconnecting 167 168 169
  571. !
  572. DisplyMsg Error in Communications
  573. Jsr 180                ! terminate session
  574. Bell
  575. Alert -1 Warning: The MNP Status is unknown.\13The session has been terminated.
  576. Jump 200            ! exit to Cancel routine
  577. !
  578. !*********
  579. -LABEL 165    !---<MNP Status was Off>---
  580. !*********
  581. DisplyMsg Error in Communications
  582. Jsr 180                ! terminate session
  583. Bell
  584. Alert -1 Warning: The MNP Status is Off.\13The session has been terminated.
  585. Jump 200            ! exit to Cancel routine
  586. !
  587. !*********
  588. -LABEL 166    !---<MNP Status was Connecting>---
  589. !*********
  590. DisplyMsg Error in Communications
  591. Jsr 180                ! terminate session
  592. Bell
  593. Alert -1 Warning: The MNP Status is Connecting.\13The session has been terminated.
  594. Jump 200            ! exit to Cancel routine
  595. !
  596. !*********
  597. -LABEL 167    !---<MNP Status was Disconnecting>---
  598. !*********
  599. DisplyMsg Error in Communications
  600. Jsr 180                ! terminate session
  601. Bell
  602. Alert -1 Warning: The MNP Status is Disconnecting.\13The session has been terminated.
  603. Jump 200            ! exit to Cancel routine
  604. !
  605. !*********
  606. -LABEL 168    !---<MNP Status was not recognized>---
  607. !*********
  608. DisplyMsg Error in Communications
  609. Jsr 180                ! terminate session
  610. Bell
  611. Alert -1 MNPStatus was not recognized as a valid parameter.\13Call the Apple USA HelpLine.
  612. Jump 200            ! exit to Cancel routine
  613. !
  614. !*********
  615. -LABEL 169    !---<CTBCheckParameter error>---
  616. !*********
  617. DisplyMsg Error in Communications
  618. Jsr 180                ! terminate session
  619. Bell
  620. Alert -1 An error occurred in the CTBCheckParameter function.\13Call the Apple USA HelpLine.
  621. Jump 200            ! exit to Cancel routine
  622. !
  623. !*********
  624. -LABEL 170    !---<Success, we’re in, so exit>--- 
  625. !*********
  626. Wait 30                ! wait 0.5 secs
  627. Flush                ! clear input buffer
  628. Exit 0                ! exit the script normally
  629. !
  630. !================================================================================
  631. -LABEL 180-199    !***<Terminate Session>***
  632. !================================================================================
  633. !
  634. !*********
  635. -LABEL 180    !---<Terminate session>--- 
  636. !*********
  637. !    send Abnormal disconnect command
  638. Xmit C3\13
  639. !    Look for one of the following expected responses
  640. MatchStr 1 182 U#
  641. Wait 300            ! wait 5 secs
  642. Return
  643. !
  644. !*********
  645. -LABEL 182    !---<Say bye>---
  646. !*********
  647. Wait 6                ! wait 0.1 sec and sign off the network
  648. Xmit BYE\13
  649. Return
  650. !
  651. !================================================================================
  652. -LABEL 200    !***<Cancel Routine>***
  653. !================================================================================
  654. DsplyMsg Canceling ...
  655. Flush
  656. Wait 30                ! wait 0.5 secs
  657. Exit -1                ! exit the script with an error
  658. !
  659. !================================================================================
  660. -LABEL 210    !***<Hang up phone Routine>***
  661. !================================================================================
  662. !
  663. !    Look for one of the following expected responses
  664. MatchStr 1 222 CARRIER
  665. SetVar 1 0            ! clear # hangup tries counter
  666. SetVar 2 0            ! clear # modem config tries counter and reuse for MNPStatus checks
  667. ! If MNP is on, turn it off first or the modem will not understand the Hangup command
  668. !
  669. !    CTBCHECKPARAMETER <ParameterName> <ValueToCheckAgainst>
  670. !                      <LabelIfMatch> [<LabelIfParameterNotFound>] [<LabelIfError>]
  671. CTBCheckParameter MNPStatus Off 220 168 169            
  672. CTBCheckParameter MNPStatus Connecting 212 168 169
  673. CTBCheckParameter MNPStatus Disconnecting 213 168 169        
  674. !    CTBPARAMETER <ParameterName> <NewValue> [<LabelIfError>]
  675. CTBParameter MNPStatus Off 215        ! MNP was on, so turn it off
  676. !    Check it again, just in case
  677. CTBCheckParameter MNPStatus Off 220 168 169
  678. Jump 220            ! MNP turned off OK, so finish hanging up
  679. !
  680. !*********
  681. -LABEL 212    !---<MNPStatus is Connecting>---
  682. !*********
  683. IncVar 2            ! Increment # MNPstatus checks counter
  684. IfVar 2 3 214        ! if 3 checks, display alert and exit script with error
  685. Alert 200 MNPStatus is Connecting.
  686. Wait 30                ! wait 0.5 secs
  687. Jump 210            ! try to hang up again
  688. !
  689. !*********
  690. -LABEL 213    !---<MNPStatus is Disconnecting>---
  691. !*********
  692. IncVar 2            ! Increment # MNPstatus checks counter
  693. IfVar 2 3 214        ! if 3 checks, display alert and exit script with error
  694. Alert 200 MNPStatus is Disconnecting.
  695. Wait 30                ! wait 0.5 secs
  696. Jump 210            ! try to hang up again
  697. !
  698. !*********
  699. -LABEL 214    !---<MNPStatus is Connecting or Disconnecting>---
  700. !*********
  701. Alert 200 MNPStatus is still Connecting or Disconnecting.\13Script exiting with an error.
  702. Exit -1                ! exit the script with an error
  703. !
  704. !*********
  705. -LABEL 215    !---<CTBParameter Error>---    
  706. !*********
  707. Alert 200 CTBParameter MNPStatus Off caused an error.\13Call the Apple USA HelpLine.
  708. Exit -1                ! exit the script with an error
  709. !
  710. !*********
  711. -LABEL 220    !---<Hang up the phone subroutine>---
  712. !*********
  713. Wait 60                ! wait 1 sec (beginning guard time) and send +++ (escape)
  714. Xmit +
  715. Xmit +
  716. Xmit +
  717. Wait 60                ! wait 1 more sec (end guard time)
  718. Flush                ! clear input buffer and tell modem to hang up verbosely
  719. Xmit ATV1H\13
  720. !    Look for one of the following expected responses
  721. MatchStr 2 222 OK
  722. MatchStr 3 224 ERROR
  723. Wait 120            ! wait 2 secs
  724. Jump 224            ! test for error or no response            
  725. !
  726. !*********
  727. -LABEL 222    !---<Reset the modem>---
  728. !*********
  729. !
  730. IfVar 7 0 229        ! If NOT disconnecting, bypass the modem reset.
  731. !                      This aids in script debugging so we dont reset modem 1st time.
  732. Flush                ! Flush the buffer and send Hayes Reset Modem command
  733. Xmit ATZ\13
  734. !    Look for one of the following expected responses
  735. MatchStr 2 229 OK
  736. MatchStr 3 224 ERROR
  737. Wait 180            ! wait 3 secs
  738. !
  739. !*********
  740. -LABEL 224    !---<Error or just no response>---
  741. !*********
  742. IncVar 1            ! Increment # hangup tries counter
  743. IfVar 1 3 225        ! if 3 tries, display error alert and try again
  744. Jump 220            ! try to hangup again
  745. !
  746. !*********
  747. -LABEL 225    !---<Error>---
  748. !*********
  749. IfVar 7 1 229        ! If disconnecting, just return.
  750. Alert 200 The modem is not responding to the hangup command.\13Turn it off and then on again before retrying.
  751. SetVar 1 0            ! clear # hangup tries counter
  752. Jump 220            ! try to hangup again
  753. !
  754. !*********
  755. -LABEL 229    !---<Return from the Hangup sequence>---
  756. !*********
  757. Wait 60                ! wait 1 sec
  758. Flush                ! clear input buffer
  759. Return
  760. !
  761. !================================================================================
  762. -LABEL 230-239    !***<UNUSED>***
  763. !================================================================================
  764. !
  765. !================================================================================
  766. -LABEL 240    !***<Disconnection Sequence>***
  767. !================================================================================
  768. !
  769. !    If the connection is closed, we cant hangup, so just exit
  770. !    CTBIFCLOSED <LabelToGotoIfConnectionClosed>
  771. CTBIFCLOSED 246
  772. !
  773. SetVar 7 1            ! We're disconnecting, so set the flag
  774. !    Look for one of the following expected responses
  775. MatchStr 1 242 U#
  776. MatchStr 2 244 NO CARRIER
  777. Wait 60                ! wait 1 sec
  778. Jump 244            ! and hang up the phone
  779. !
  780. !*********
  781. -LABEL 242    !---<Sign off the network>---
  782. !*********
  783. Xmit BYE\13
  784. Wait 120            ! wait 2 secs
  785. !
  786. !*********
  787. -LABEL 244    !---<Hang up the phone>---
  788. !*********
  789. SetVar 1 0            ! clear the # hangup tries counter
  790. Jsr 210                ! Execute the Hang-up subroutine
  791. !    No CTBClose here because the connection is closed externally from the script
  792. !    in case we exited the script with an error before completion.
  793. Flush                ! clear input buffer
  794. Exit 0                ! exit the script normally
  795. !
  796. !*********
  797. -LABEL 246    !---<Connection Was Closed>---
  798. !*********
  799. Flush                ! clear input buffer
  800. Exit 0                ! exit the script normally
  801. ###
  802.